1. Field of the Invention
The present invention is directed to computer systems; and more particularly, it is directed to digital photography.
2. Description of the Related Art
Digital photographs are typically digital images comprising raster graphics data. Raster graphics data (also referred to herein as bitmaps) may be stored and manipulated as a grid of individual picture elements called pixels. A bitmap may be characterized by its width and height in pixels and also by the number of bits per pixel. Commonly, a color bitmap defined in the RGB (red, green, blue) color space may comprise between one and eight bits per pixel for each of the red, green, and blue channels. An alpha channel may be used to store additional data such as per-pixel transparency values.
Digital image processing is the process of analyzing and/or modifying digital images using a computing device, e.g., a computer system. Using specialized software programs, digital images may be manipulated and transformed in a variety of ways. When processing digital photographs, the focal length associated with the photograph is an important characteristic. Many types of digital image processing depend on the accuracy of the focal length value to generate a correct result.
Accordingly, it is desirable to accurately estimate or otherwise obtain the focal length associated with a photograph if the correct focal length is not already known (i.e., as a part of metadata generated upon capture of a digital photo). In image processing application software, the typical interface for specifying the focal length of photographs includes an input field in which the numerical value of the focal length may be entered by a user. Additionally, the user may use a trial-and-error approach to determine the focal length. When the user does not know the focal length of a photograph, the user may make an initial guess, enter the guessed value, process the image with that estimated value to see if the result is acceptable, and then adjust the initial estimate according to the user's judgment. The trial-and-error process may be repeated until the result is acceptable to the user.